package com.bfly.mall.user.service;

import com.bfly.core.base.service.IBaseService;
import com.bfly.mall.user.entity.User;
import com.bfly.mall.user.dto.UserFormDTO;
import com.bfly.mall.wechat.mp.dto.WeChatMpUserInfo;

/**
 * 
 * @author 长沙商脉科技有限公司
 * @date 2020/10/14 10:07
 */
public interface IUserService extends IBaseService<User, Integer> {

    /**
     * 修改用户状态
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/18 15:41
     */
    void activeUser(int userId, boolean enable);

    /**
     * 修改用户基本信息
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/18 16:05
     */
    void edit(UserFormDTO formDTO);

    /**
     * 获取用户信息
     * @author 长沙商脉科技有限公司
     * @date 2020/11/12 15:14
     */
    User getUser(String openId);

    /**
     * 查询用户总数
     * @author 长沙商脉科技有限公司
     * @date 2021/1/5 20:07
     */
    int getCount(String openId);

    /**
     * 绑定手机号码
     * @author 长沙商脉科技有限公司
     * @date 2020/12/10 21:13
     */
    void bindPhone(int userId,String phone);

    /**
     * 保存或编辑公众号用户
     * @author 长沙商脉科技有限公司
     * @date 2021/1/5 20:47
     */
    void merge(int platformId, WeChatMpUserInfo userInfo);
}
